#region Microsoft Public License
/*
 * (c) Copyright Chenjun Wu. http://utablesdk.codeplex.com
 * 
 * This source is subject to the Microsoft Public License (Ms-PL).
 * Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
 * All other rights reserved.
 */
#endregion

﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UTable.ObjectManager;
using UTable.ObjectManager.Commands;
using UTable.Objects.Policies;

namespace UTable.Objects
{
    public interface ILocalObjectManager
    {
        IObject Target { get; set; }

        AuthorizationPolicy AuthorizationPolicy { get; set; }

        ConflictResolvePolicy ConflictResolvePolicy { get; set; }

        LayoutPolicy LayoutPolicy { get; set; }

        void AuthorizeCommands(List<ICommand> cmds);

        void ResolveCommandsConflict(List<ICommand> cmds);

        void ExecuateCommand(ObjectCommand cmd);
    }
}
